很久之前看到YT上有標榜"純CSS" 水滴動畫,所以才有今天這個主題(不過水滴的影片就找不到了)
今天參考的影片如下(是個立方體動畫,原始碼需贊助原作者才能瀏覽)
https://www.youtube.com/watch?v=nOdDtnHWaDo&list=LL&index=1
選擇器相關資料
https://code.tutsplus.com/zh-hant/tutorials/the-30-css-selectors-you-must-memorize--net-16048
然後就看影片照著抄程式碼,試著改一些數值,但亂改動畫會跳針
HTML的 (SPAN裡面故意加字當作標,也許能方便日後理解)
<link href="C1.css" rel="stylesheet" type="text/css">
<body>
<div class="T1">
<div>
<span style="--i:0;">XXXX</span>
<span style="--i:1;">XXXX</span>
<span style="--i:2;">XXXX</span>
<span style="--i:3;">XXXX</span>
</div>
</div>
</body>
CSS的,有很大占比是在固定位置,雖然好像很基本,但我覺得特別不好弄
/*下方 deg的值 若隨便定值,動畫會跳針、甚至不動*/
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
background: #18171B;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.T1{
position: relative;
width: 300px;
height: 300px;
transform-style: preserve-3d; /*沒看過的*/
transform: rotateX(30deg); /*讓 立方體(視覺上) 垂直轉20度,看起來會像2塊長方形*/
animation: animate 3s linear infinite; /*秒數越大,動畫越慢*/
}
@keyframes animate{ /* @ <<好像不是選擇器,先照著打再說*/
0%
{
transform: rotateX(-30deg) rotateY(0deg);
}
100%
{
transform: rotateX(-30deg) rotateY(360deg);
}
}
.T1 div{
position: absolute;
top: 0;
left: 0;
width:100%;
height: 100%;
transform-style: preserve-3d;
}
.T1 div span{
position: absolute;
top: 0;
left: 0;
width:100%;
height: 100%;
transform-style: preserve-3d;
background: linear-gradient(#262728,#4168E4); /*漸層相關*/
transform: rotateY(calc(90deg * var(--i)))
translateZ(150px);
}
目前成果(截圖,但它其實會動的~)
今天先這樣,明天見,謝謝